package com.xiake.consultsystem.controller;


import com.xiake.consultsystem.service.CounselorService;
import com.xiake.consultsystem.pojo.vo.Result;
import com.xiake.consultsystem.utils.Constant;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;

import org.springframework.stereotype.Controller;

import java.util.Date;


/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author Mr.Chen
 * @since 2022-11-13
 */
@Controller
@ResponseBody
@RequestMapping("/counselor")
public class CounselorController {

    @Autowired
    CounselorService counselorService;

    /**
     * 根据id,查找咨询师
     */
    @ApiOperation("查找单个咨询师接口")
    @GetMapping("/getNameById")
    public Result getCounselorNameById(@RequestParam Long id) {
        return counselorService.getNameById(id);
    }

    /**
     * 返回所有咨询师姓名
     */
    @ApiOperation("咨询师姓名下拉栏接口")
    @GetMapping("/getAllName")
    public Result getAllName() {
        return counselorService.getAllName();
    }

    /**
     * 显示日期当天的所有可预约的时间段和咨询师
     */
    @ApiOperation("学生端显示日期当天的所有可预约的时间段和咨询师接口")
    @GetMapping("/availableCounselor")
    //前端传来的Date类型的数据,需要用@DateTimeFormat注解转化为对应格式
    public Result showAvailableCounselor(@RequestParam @DateTimeFormat(pattern = Constant.DATE_FORMAT) Date date, Long counselorId) {
        if( counselorId == null) {  //前端传来的咨询师id为0,说明只根据日期进行查找
            return counselorService.showAvailableCounselor1(date);
        } else {  //不为0,根据咨询师id和日期进行查找
            return counselorService.showAvailableCounselor2(date, counselorId);
        }

    }
}


